//package com.tg.message.msg;
//
//import android.content.Intent;
//import android.graphics.Color;
//import android.os.Build;
//import android.os.Bundle;
//import android.text.TextUtils;
//import android.util.Log;
//import android.view.View;
//import android.view.Window;
//import android.view.WindowManager;
//
//import androidx.annotation.NonNull;
//import androidx.annotation.Nullable;
//
//import com.appbase.custom.constant.EventConstants;
//import com.base.BaseActivity;
//import com.tg.appcommon.android.FixMemLeak;
//import com.tange.base.toolkit.StatusBarUtil;
//import com.tange.base.toolkit.StatusNavUtils;
//import com.tg.appcommon.android.TGLog;
//import com.tg.appcommon.business.IMessageModule;
//import com.tange.core.backend.service.ep.EnvironmentProxy;
//import com.tg.data.http.entity.AVFrames;
//import com.tg.data.http.entity.MessageDataBean;
//import com.tg.message.R;
//
//public class MessagePlayActivity extends BaseActivity {
//
//    public static final String TAG_PLAY = "MessagePlay#";
//    private static final String TAG = TAG_PLAY + "Activity";
//
//    private MessagePlayerView messagePlayerView;
//    private MessageInfoView messageInfoView;
//    private MessageAIView messageAIView;
//
//    private MessageDataHolder messageDataHolder;
//    private MessageVideoDownloader messageVideoDownloader;
//
//    @Override
//    protected void onCreate(@Nullable Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        initWindow();
//
//        TGLog.i(TAG, "onCreate: ");
//
//        messageDataHolder = new MessageDataHolder(this);
//
//        initInternalView(savedInstanceState);
//
//        messageDataHolder.init(getIntent(), () -> fillPage());
//    }
//
//    private void initWindow() {
//        requestWindowFeature(Window.FEATURE_NO_TITLE);
//        getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
//        setContentView(R.layout.activity_message_play);
//        Window window = getWindow();
//        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
//        window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
//        window.getDecorView().setBackgroundColor(Color.BLACK);
//        hideActionBar();
//    }
//
//    @Override
//    public boolean shouldSetStatusBarColor() {
//        return true;
//    }
//
//    @Override
//    protected int statusBarColor() {
//        return Color.BLACK;
//    }
//
//    @Override
//    protected void initView() {
//
//    }
//
//    private void initInternalView(Bundle savedInstanceState) {
//        messagePlayerView = findViewById(R.id.top_view);
//        messageAIView = findViewById(R.id.ai_view);
//        messageInfoView = findViewById(R.id.bottom_view);
//        messageInfoView.setSavedInstanceState(savedInstanceState);
//    }
//
//    private void fillPage() {
//        TGLog.i(TAG, "fillPage ...");
//
//        final int displayType = messageDataHolder.getDisplayType();
//
//        final MessageVideoDownloader.StatusListener listener = new MessageVideoDownloader.StatusListener() {
//            @Override
//            public void onStart() {
//                TGLog.i(TAG, "MessageVideoDownloader.onStart: ");
//                if (messagePlayerView == null) return;
//                messagePlayerView.showLoading();
//            }
//
//            @Override
//            public void onVideoDataDecoded(AVFrames avFrames) {
//                if (messagePlayerView == null) return;
//                //messagePlayerView.onVideoDataDecoded(avFrames);
//            }
//
//            @Override
//            public void onAudioDataDecoded(AVFrames avFrames) {
//                if (messagePlayerView == null) return;
//                //messagePlayerView.onAudioDataDecoded(avFrames);
//            }
//
//            @Override
//            public void onDownloadFinished() {
//                TGLog.i(TAG, "MessageVideoDownloader.onDownloadFinished: ");
//                if (messagePlayerView == null) return;
//                messagePlayerView.hideLoading();
//            }
//
//            @Override
//            public void onDecodeFinished() {
//                TGLog.d(TAG, "MessageVideoDownloader.onDecodeFinished: ");
//            }
//
//            @Override
//            public void onMp4WriteSuccess(String videoFilePath) {
//                TGLog.i(TAG, "MessageVideoDownloader.onMp4WriteSuccess: " + videoFilePath);
//                if (messagePlayerView == null) return;
//                messagePlayerView.hideLoading();
//
//                // 用户点过下载按钮，那就自动保存
//                if (messageInfoView != null && messageInfoView.hasDownloadClicked()) {
//                    messageInfoView.download();
//                }
//            }
//
//            @Override
//            public void onSaveToAlbum(boolean isSuccess) {
//                if (messageInfoView != null) {
//                    messageInfoView.updateDownloadStatus(isSuccess);
//                }
//            }
//
//            @Override
//            public void onFailed() {
//                TGLog.i(TAG, "MessageVideoDownloader.onFailed: ");
//                if (messagePlayerView == null) return;
//                messagePlayerView.hideLoading();
//                if (messageInfoView != null) {
//                    messageInfoView.updateDownloadStatus(false);
//                }
//            }
//        };
//
//        messageVideoDownloader = new MessageVideoDownloader(messageDataHolder.getDesKey(), messageDataHolder.getEventMessage(), this, listener);
//
//        if (displayType == MessageDataHolder.MSG_EVENT_TYPE_MAP) {
//
//            messagePlayerView.setVisibility(View.GONE);
//            messageAIView.setVisibility(View.GONE);
//            messageInfoView.setVisibility(View.VISIBLE);
//
//            messageInfoView.refresh(messageDataHolder);
//
//            StatusBarUtil.setLightStatusBar(this, false);
//
//        } else if (displayType == MessageDataHolder.MSG_EVENT_TYPE_TEXT) {
//
//            messagePlayerView.setVisibility(View.GONE);
//            messageAIView.setVisibility(View.GONE);
//            messageInfoView.setVisibility(View.VISIBLE);
//
//            messageInfoView.refresh(messageDataHolder);
//
//            StatusBarUtil.setLightStatusBar(this, true);
//            StatusNavUtils.setStatusBarColor(this, getResources().getColor(com.module.commonui.R.color.global_customize_fixed_color_light_gray));
//
//        } else  if (displayType == MessageDataHolder.MSG_EVENT_TYPE_AI) {
//
//            messagePlayerView.setVisibility(View.VISIBLE);
//            messageAIView.setVisibility(View.VISIBLE);
//            messageInfoView.setVisibility(View.GONE);
//
//            messageAIView.setMessagePlayManager(messageDataHolder);
//            messageAIView.refresh();
//            messagePlayerView.setMessageVideoDownloader(messageVideoDownloader);
//            messagePlayerView.refresh(messageDataHolder);
//            if (messageDataHolder.isPay()) {
//                //    messageVideoDownloader.start();
//            }
//
//            StatusBarUtil.setLightStatusBar(this, false);
//
//        } else if (displayType == MessageDataHolder.MSG_EVENT_TYPE_VIDEO) { // 视频类型
//
//            StatusBarUtil.setLightStatusBar(this, false);
//
//            messagePlayerView.setVisibility(View.VISIBLE);
//            messageAIView.setVisibility(View.GONE);
//            messageInfoView.setVisibility(View.VISIBLE);
//
//            messageInfoView.setMessageVideoDownloader(messageVideoDownloader);
//            messagePlayerView.setMessageVideoDownloader(messageVideoDownloader);
//            messageInfoView.refresh(messageDataHolder);
//            messagePlayerView.refresh(messageDataHolder);
//            if (messageDataHolder.isPay()) {
//                // messageVideoDownloader.start();
//            }
//        }
//    }
//
//    @Override
//    protected void onResume() {
//        super.onResume();
//        TGLog.i(TAG, "onResume");
//
//        if (messagePlayerView != null && messagePlayerView.getVisibility() == View.VISIBLE) {
//            messagePlayerView.resume();
//        }
//
//        if (messageInfoView != null) {
//            messageInfoView.onResume();
//        }
//        EnvironmentProxy.initStatic();
//    }
//
//    @Override
//    protected void onSaveInstanceState(@NonNull Bundle outState) {
//        super.onSaveInstanceState(outState);
//
//        if (messageInfoView != null) {
//            messageInfoView.onSaveInstanceState(outState);
//        }
//    }
//
//    @Override
//    protected void onNewIntent(Intent intent) {
//        super.onNewIntent(intent);
//        if (intent != null) {
//            TGLog.i(TAG, "onNewIntent intent = " + intent.getExtras());
//        }
//        messageDataHolder.init(intent, () -> fillPage());
//    }
//
//    @Override
//    public void onBackPressed() {
//
//        if (messagePlayerView.getVisibility() == View.VISIBLE) {
//            messagePlayerView.onBackPressed();
//        } else {
//            messageDataHolder.finishPage(this);
//        }
//    }
//
//    @Override
//    protected void onPause() {
//        super.onPause();
//
//        TGLog.i(TAG, "onPause");
//
//        if (messageInfoView != null) {
//            messageInfoView.onPause();
//        }
//
//        if (messagePlayerView.getVisibility() == View.VISIBLE) {
//            messagePlayerView.pause();
//        }
//
//    }
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//
//        TGLog.i(TAG, "onDestroy");
//
//        if (messageInfoView != null) {
//            messageInfoView.onDestroy();
//        }
//
//        if (messageVideoDownloader != null) {
//            messageVideoDownloader.destroy();
//        }
//
//        if (messagePlayerView.getVisibility() == View.VISIBLE) {
//            messagePlayerView.destroy();
//        }
//
//        FixMemLeak.fixLeak(this);
//    }
//}
